<?php

/**
 * Description of Garde
 *
 * @author ROCU Fabien
 */
class Garde {

    public $garde_id;
    public $pompier_id;
    public $garde_etat;
    public $garde_date;
    public $garde_heure_debut;
    public $garde_heure_fin;
    public $type_garde_id;
    public $garde_mutualisation;

    function __construct() { // aucune information dans le constructeur
        $this->garde_id = null;
    }

    public function charger_garde( $id ) // SELECT
    {
        global $_mysql;

        $this->garde_id = $id;

        try {
            $query = "SELECT * FROM garde WHERE garde_id = $id";
            if ( Config::$debugSQL ) echo "<br />" . $query . "<br />";
            $result = $_mysql->query($query);

            if ( $_mysql->num_rows($result) > 0 ) {
                $val = $_mysql->fetch_array($result);

                $this->pompier_id = $val['pompier_id'];
                $this->garde_etat = $val['garde_etat'];
                $this->garde_date = $val['garde_date'];
                $this->garde_heure_debut = $val['garde_heure_debut'];
                $this->garde_heure_fin = $val['garde_heure_fin'];
                $this->type_garde_id = $val['type_garde_id'];
                $this->garde_mutualisation = $val['garde_mutualisation'];

                if ( Config::$debugWHO_IS ) echo $this->qui_suis_je();
            }
            else
                throw new Exception('Erreur Garde: identifiant unique non respecté');

        }
        catch (SQLException $sqle) {
            throw $sqle;
        }

    }

    public function set_garde( $pompier_id, $garde_etat, $garde_date, $garde_heure_debut, $garde_heure_fin, $type_garde_id, $garde_mutualisation ) {
        $this->pompier_id = $pompier_id;
        $this->garde_etat = $garde_etat;
        $this->garde_date = $garde_date;
        $this->garde_heure_debut = $garde_heure_debut;
        $this->garde_heure_fin = $garde_heure_fin;
        $this->type_garde_id = $type_garde_id;
        $this->garde_mutualisation = $garde_mutualisation;

        if ( Config::$debugWHO_IS ) echo $this->qui_suis_je();
    }

    public function sauvegarder_garde() // INSERT & UPDATE
    {
        global $_mysql;

        try {
            if ( $this->garde_id == null ) {

                $query = "INSERT INTO garde VALUES ( null, $this->pompier_id, '$this->garde_etat', $this->garde_date, $this->garde_heure_debut, $this->garde_heure_fin, $this->type_garde_id, $this->garde_mutualisation);";
                if ( Config::$debugSQL ) echo $query;
                $result = $_mysql->query($query);

                if ( $result ) {
                    $this->garde_id = $_mysql->last_insert_id();
                    return $this->garde_id;
                } else
                    throw new Exception('Erreur Garde: la création de la garde a rencontré un problème');

            } else {

                $query = "UPDATE garde SET pompier_id = " . $this->pompier_id . ", garde_etat = '" . $this->garde_etat . "', garde_date = " . $this->garde_date . ", garde_heure_debut = " . $this->garde_heure_debut . ", garde_heure_fin = " . $this->garde_heure_fin . ", type_garde_id = " . $this->type_garde_id . ", personngarde_mutualisatione_port = " . $this->garde_mutualisation . " WHERE garde_id = " . $this->garde_id . ";";
                if ( Config::$debugSQL ) echo $query;
                $result = $_mysql->query($query);

                if ( $result ) {

                } // Tout se passe bien ne rien faire
                else
                    throw new Exception('Erreur Garde: la modification de la garde a rencontré un problème');

            }
        }
        catch (SQLException $sqle) {
            throw $sqle;
        }
    }

    public function effacer_garde( $id ) // DELETE
    {
        $garde_id = $id;

        global $_mysql;

        try {
            $query = "DELETE FROM garde WHERE garde_id = $garde_id";
            if ( Config::$debugSQL ) echo $query;
            $result = $_mysql->query($query);

            if ( $result ) {

            } // Tout se passe bien ne rien faire
            else
                throw new Exception('Erreur Garde: la suppression de la garde a rencontré un problème');

        }
        catch (SQLException $sqle) {
            throw $sqle;
        }
    }

    public function qui_suis_je() // Return String
    {
        return " <br /> Garde --> ID: " . $this->garde_id . " Pompier ID: " . $this->pompier_id . " Garde Etat: " . $this->garde_etat . " Garde Date: " . $this->garde_date . " Heure Début: " . $this->garde_heure_debut . " Heure Fin: " . $this->garde_heure_fin . " Type Garde ID: " . $this->type_garde_id . " Mutualisation: " . $this->garde_mutualisation . "<br />";
    }

    public function setGarde_etat($garde_etat) {
        $this->garde_etat = $garde_etat;
    }

}
?>
